package com.lbh.platforms.windows;

import com.lbh.platforms.windows.structures.gdi.RECT;
import com.lbh.platforms.windows.structures.user.*;
import com.sun.jna.*;

/***
 * project:JRuntime
 * package:com.lbh.platforms.windows
 *
 * @author user:lenovo QQ:1601078366
 * @date 2021/10/18 0:59
 * @version V1.0
 */
@SuppressWarnings({"AlibabaLowerCamelCaseVariableNaming", "AlibabaAvoidStartWithDollarAndUnderLineNaming", "AlibabaAbstractMethodOrInterfaceMethodMustUseJavadoc", "unused", "SpellCheckingInspection", "AlibabaCommentsMustBeJavadocFormat", "UnusedReturnValue"})
public interface WinUser32 extends Library {

    WinUser32 ins = Native.load("user32", WinUser32.class);

    int IDI_APPLICATION = 32512;
    int IDI_HAND = 32513;
    int IDI_QUESTION = 32514;
    int IDI_EXCLAMATION = 32515;
    int IDI_ASTERISK = 32516;
    int IDI_WINLOGO = 32517;
    int IDI_SHIELD = 32518;
    
    int IDC_ARROW = 32512;
    int IDC_IBEAM = 32513;
    int IDC_WAIT = 32514;
    int IDC_CROSS = 32515;
    int IDC_UPARROW = 32516;
    int IDC_SIZE = 32640;
    int IDC_ICON = 32641;
    int IDC_SIZENWSE = 32642;
    int IDC_SIZENESW = 32643;
    int IDC_SIZEWE = 32644;
    int IDC_SIZENS = 32645;
    int IDC_SIZEALL = 32646;
    int IDC_NO = 32648;
    int IDC_HAND = 32649;
    int IDC_APPSTARTING = 32650;
    int IDC_HELP = 32651;
    int IDC_PIN = 32671;
    int IDC_PERSON = 32672;
    
    int CS_VREDRAW = 0x0001;
    int CS_HREDRAW = 0x0002;
    int CS_DBLCLKS = 0x0008;
    int CS_OWNDC = 0x0020;
    int CS_CLASSDC = 0x0040;
    int CS_PARENTDC = 0x0080;
    int CS_NOCLOSE = 0x0200;
    int CS_SAVEBITS = 0x0800;
    int CS_BYTEALIGNCLIENT = 0x1000;
    int CS_BYTEALIGNWINDOW = 0x2000;
    int CS_GLOBALCLASS = 0x4000;
    int CS_IME = 0x00010000;
    int CS_DROPSHADOW = 0x00020000;

    int WHITE_BRUSH = 0;
    int LTGRAY_BRUSH = 1;
    int GRAY_BRUSH = 2;
    int DKGRAY_BRUSH = 3;
    int BLACK_BRUSH = 4;
    int NULL_BRUSH = 5;
    int HOLLOW_BRUSH = NULL_BRUSH;
    int WHITE_PEN = 6;
    int BLACK_PEN = 7;
    int NULL_PEN = 8;
    int OEM_FIXED_FONT = 10;
    int ANSI_FIXED_FONT = 11;
    int ANSI_VAR_FONT = 12;
    int SYSTEM_FONT = 13;
    int DEVICE_DEFAULT_FONT = 14;
    int DEFAULT_PALETTE = 15;
    int SYSTEM_FIXED_FONT = 16;
    int DEFAULT_GUI_FONT = 17;
    int DC_BRUSH = 18;
    int DC_PEN = 19;

    int MB_OK = 0x00000000;
    int MB_OKCANCEL = 0x00000001;
    int MB_ABORTRETRYIGNORE = 0x00000002;
    int MB_YESNOCANCEL = 0x00000003;
    int MB_YESNO = 0x00000004;
    int MB_RETRYCANCEL = 0x00000005;
    int MB_CANCELTRYCONTINUE = 0x00000006;
    int MB_ICONHAND = 0x00000010;
    int MB_ICONQUESTION = 0x00000020;
    int MB_ICONEXCLAMATION = 0x00000030;
    int MB_ICONASTERISK = 0x00000040;
    int MB_USERICON = 0x00000080;
    int MB_ICONWARNING = MB_ICONEXCLAMATION;
    int MB_ICONERROR = MB_ICONHAND;
    int MB_ICONINFORMATION = MB_ICONASTERISK;
    int MB_ICONSTOP = MB_ICONHAND;
    int MB_DEFBUTTON1 = 0x00000000;
    int MB_DEFBUTTON2 = 0x00000100;
    int MB_DEFBUTTON3 = 0x00000200;
    int MB_DEFBUTTON4 = 0x00000300;
    int MB_APPLMODAL = 0x00000000;
    int MB_SYSTEMMODAL = 0x00001000;
    int MB_TASKMODAL = 0x00002000;
    int MB_HELP = 0x00004000;
    int MB_NOFOCUS = 0x00008000;
    int MB_SETFOREGROUND = 0x00010000;
    int MB_DEFAULT_DESKTOP_ONLY = 0x00020000;
    int MB_TOPMOST = 0x00040000;
    int MB_RIGHT = 0x00080000;
    int MB_RTLREADING = 0x00100000;
    int MB_SERVICE_NOTIFICATION = 0x00200000;
    int MB_SERVICE_NOTIFICATION_NT3X = 0x00040000;
    int MB_TYPEMASK = 0x0000000F;
    int MB_ICONMASK = 0x000000F0;
    int MB_DEFMASK = 0x00000F00;
    int MB_MODEMASK = 0x00003000;
    int MB_MISCMASK = 0x0000C000;

    int WS_OVERLAPPED = 0x00000000;
    int WS_POPUP = 0x80000000;
    int WS_CHILD = 0x40000000;
    int WS_MINIMIZE = 0x20000000;
    int WS_VISIBLE = 0x10000000;
    int WS_DISABLED = 0x08000000;
    int WS_CLIPSIBLINGS = 0x04000000;
    int WS_CLIPCHILDREN = 0x02000000;
    int WS_MAXIMIZE = 0x01000000;
    int WS_CAPTION = 0x00C00000;
    int WS_BORDER = 0x00800000;
    int WS_DLGFRAME = 0x00400000;
    int WS_VSCROLL = 0x00200000;
    int WS_HSCROLL = 0x00100000;
    int WS_SYSMENU = 0x00080000;
    int WS_THICKFRAME = 0x00040000;
    int WS_GROUP = 0x00020000;
    int WS_TABSTOP = 0x00010000;
    int WS_MINIMIZEBOX = 0x00020000;
    int WS_MAXIMIZEBOX = 0x00010000;
    int WS_TILED = WS_OVERLAPPED;
    int WS_ICONIC = WS_MINIMIZE;
    int WS_SIZEBOX = WS_THICKFRAME;

    int WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX);
    int WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW;
    int WS_POPUPWINDOW = (WS_POPUP | WS_BORDER | WS_SYSMENU);
    int WS_CHILDWINDOW = (WS_CHILD);

    int WS_EX_DLGMODALFRAME = 0x00000001;
    int WS_EX_NOPARENTNOTIFY = 0x00000004;
    int WS_EX_TOPMOST = 0x00000008;
    int WS_EX_ACCEPTFILES = 0x00000010;
    int WS_EX_TRANSPARENT = 0x00000020;
    int WS_EX_MDICHILD = 0x00000040;
    int WS_EX_TOOLWINDOW = 0x00000080;
    int WS_EX_WINDOWEDGE = 0x00000100;
    int WS_EX_CLIENTEDGE = 0x00000200;
    int WS_EX_CONTEXTHELP = 0x00000400;
    int WS_EX_RIGHT = 0x00001000;
    int WS_EX_LEFT = 0x00000000;
    int WS_EX_RTLREADING = 0x00002000;
    int WS_EX_LTRREADING = 0x00000000;
    int WS_EX_LEFTSCROLLBAR = 0x00004000;
    int WS_EX_RIGHTSCROLLBAR = 0x00000000;
    int WS_EX_CONTROLPARENT = 0x00010000;
    int WS_EX_STATICEDGE = 0x00020000;
    int WS_EX_APPWINDOW = 0x00040000;

    int WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE);
    int WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST);
    int WS_EX_LAYERED = 0x00080000;
    int WS_EX_NOINHERITLAYOUT = 0x00100000;
    int WS_EX_NOREDIRECTIONBITMAP = 0x00200000;
    int WS_EX_LAYOUTRTL = 0x00400000;
    int WS_EX_COMPOSITED = 0x02000000;
    int WS_EX_NOACTIVATE = 0x08000000;

    int WM_NULL = 0x0000;
    int WM_CREATE = 0x0001;
    int WM_DESTROY = 0x0002;
    int WM_MOVE = 0x0003;
    int WM_SIZE = 0x0005;

    int WM_ACTIVATE = 0x0006;

    int WA_INACTIVE = 0;
    int WA_ACTIVE = 1;
    int WA_CLICKACTIVE = 2;

    int WM_SETFOCUS = 0x0007;
    int WM_KILLFOCUS = 0x0008;
    int WM_ENABLE = 0x000A;
    int WM_SETREDRAW = 0x000B;
    int WM_SETTEXT = 0x000C;
    int WM_GETTEXT = 0x000D;
    int WM_GETTEXTLENGTH = 0x000E;
    int WM_PAINT = 0x000F;
    int WM_CLOSE = 0x0010;
    int WM_QUERYENDSESSION = 0x0011;
    int WM_QUERYOPEN = 0x0013;
    int WM_ENDSESSION = 0x0016;
    int WM_QUIT = 0x0012;
    int WM_ERASEBKGND = 0x0014;
    int WM_SYSCOLORCHANGE = 0x0015;
    int WM_SHOWWINDOW = 0x0018;
    int WM_WININICHANGE = 0x001A;
    int WM_SETTINGCHANGE = WM_WININICHANGE;
    int WM_DEVMODECHANGE = 0x001B;
    int WM_ACTIVATEAPP = 0x001C;
    int WM_FONTCHANGE = 0x001D;
    int WM_TIMECHANGE = 0x001E;
    int WM_CANCELMODE = 0x001F;
    int WM_SETCURSOR = 0x0020;
    int WM_MOUSEACTIVATE = 0x0021;
    int WM_CHILDACTIVATE = 0x0022;
    int WM_QUEUESYNC = 0x0023;
    int WM_GETMINMAXINFO = 0x0024;

    int WM_PAINTICON = 0x0026;
    int WM_ICONERASEBKGND = 0x0027;
    int WM_NEXTDLGCTL = 0x0028;
    int WM_SPOOLERSTATUS = 0x002A;
    int WM_DRAWITEM = 0x002B;
    int WM_MEASUREITEM = 0x002C;
    int WM_DELETEITEM = 0x002D;
    int WM_VKEYTOITEM = 0x002E;
    int WM_CHARTOITEM = 0x002F;
    int WM_SETFONT = 0x0030;
    int WM_GETFONT = 0x0031;
    int WM_SETHOTKEY = 0x0032;
    int WM_GETHOTKEY = 0x0033;
    int WM_QUERYDRAGICON = 0x0037;
    int WM_COMPAREITEM = 0x0039;
    int WM_GETOBJECT = 0x003D;
    int WM_COMPACTING = 0x0041;
    int WM_COMMNOTIFY = 0x0044;
    int WM_WINDOWPOSCHANGING = 0x0046;
    int WM_WINDOWPOSCHANGED = 0x0047;
    int WM_POWER = 0x0048;

    int PWR_OK = 1;
    int PWR_FAIL = (-1);
    int PWR_SUSPENDREQUEST = 1;
    int PWR_SUSPENDRESUME = 2;
    int PWR_CRITICALRESUME = 3;

    int WM_COPYDATA = 0x004A;
    int WM_CANCELJOURNAL = 0x004B;

    int WM_NOTIFY = 0x004E;
    int WM_INPUTLANGCHANGEREQUEST = 0x0050;
    int WM_INPUTLANGCHANGE = 0x0051;
    int WM_TCARD = 0x0052;
    int WM_HELP = 0x0053;
    int WM_USERCHANGED = 0x0054;
    int WM_NOTIFYFORMAT = 0x0055;

    int NFR_ANSI = 1;
    int NFR_UNICODE = 2;
    int NF_QUERY = 3;
    int NF_REQUERY = 4;

    int WM_CONTEXTMENU = 0x007B;
    int WM_STYLECHANGING = 0x007C;
    int WM_STYLECHANGED = 0x007D;
    int WM_DISPLAYCHANGE = 0x007E;
    int WM_GETICON = 0x007F;
    int WM_SETICON = 0x0080;

    int WM_NCCREATE = 0x0081;
    int WM_NCDESTROY = 0x0082;
    int WM_NCCALCSIZE = 0x0083;
    int WM_NCHITTEST = 0x0084;
    int WM_NCPAINT = 0x0085;
    int WM_NCACTIVATE = 0x0086;
    int WM_GETDLGCODE = 0x0087;
    int WM_SYNCPAINT = 0x0088;
    int WM_NCMOUSEMOVE = 0x00A0;
    int WM_NCLBUTTONDOWN = 0x00A1;
    int WM_NCLBUTTONUP = 0x00A2;
    int WM_NCLBUTTONDBLCLK = 0x00A3;
    int WM_NCRBUTTONDOWN = 0x00A4;
    int WM_NCRBUTTONUP = 0x00A5;
    int WM_NCRBUTTONDBLCLK = 0x00A6;
    int WM_NCMBUTTONDOWN = 0x00A7;
    int WM_NCMBUTTONUP = 0x00A8;
    int WM_NCMBUTTONDBLCLK = 0x00A9;

    int WM_NCXBUTTONDOWN = 0x00AB;
    int WM_NCXBUTTONUP = 0x00AC;
    int WM_NCXBUTTONDBLCLK = 0x00AD;
    int WM_INPUT_DEVICE_CHANGE = 0x00fe;
    int WM_INPUT = 0x00FF;
    int WM_KEYFIRST = 0x0100;
    int WM_KEYDOWN = 0x0100;
    int WM_KEYUP = 0x0101;
    int WM_CHAR = 0x0102;
    int WM_DEADCHAR = 0x0103;
    int WM_SYSKEYDOWN = 0x0104;
    int WM_SYSKEYUP = 0x0105;
    int WM_SYSCHAR = 0x0106;
    int WM_SYSDEADCHAR = 0x0107;
    int WM_UNICHAR = 0x0109;
    int WM_KEYLAST = 0x0109;
    int UNICODE_NOCHAR = 0xFFFF;
    //int WM_KEYLAST = 0x0108;
    int WM_IME_STARTCOMPOSITION = 0x010D;
    int WM_IME_ENDCOMPOSITION = 0x010E;
    int WM_IME_COMPOSITION = 0x010F;
    int WM_IME_KEYLAST = 0x010F;
    int WM_INITDIALOG = 0x0110;
    int WM_COMMAND = 0x0111;
    int WM_SYSCOMMAND = 0x0112;
    int WM_TIMER = 0x0113;
    int WM_HSCROLL = 0x0114;
    int WM_VSCROLL = 0x0115;
    int WM_INITMENU = 0x0116;
    int WM_INITMENUPOPUP = 0x0117;
    int WM_MENUSELECT = 0x011F;
    int WM_GESTURE = 0x0119;
    int WM_GESTURENOTIFY = 0x011A;
    int WM_MENUCHAR = 0x0120;
    int WM_ENTERIDLE = 0x0121;
    int WM_MENURBUTTONUP = 0x0122;
    int WM_MENUDRAG = 0x0123;
    int WM_MENUGETOBJECT = 0x0124;
    int WM_UNINITMENUPOPUP = 0x0125;
    int WM_MENUCOMMAND = 0x0126;
    int WM_CHANGEUISTATE = 0x0127;
    int WM_UPDATEUISTATE = 0x0128;
    int WM_QUERYUISTATE = 0x0129;

    int UIS_SET = 1;
    int UIS_CLEAR = 2;
    int UIS_INITIALIZE = 3;

    int UISF_HIDEFOCUS = 0x1;
    int UISF_HIDEACCEL = 0x2;
    int UISF_ACTIVE = 0x4;

    int WM_CTLCOLORMSGBOX = 0x0132;
    int WM_CTLCOLOREDIT = 0x0133;
    int WM_CTLCOLORLISTBOX = 0x0134;
    int WM_CTLCOLORBTN = 0x0135;
    int WM_CTLCOLORDLG = 0x0136;
    int WM_CTLCOLORSCROLLBAR = 0x0137;
    int WM_CTLCOLORSTATIC = 0x0138;
    int MN_GETHMENU = 0x01E1;

    int WM_MOUSEFIRST = 0x0200;
    int WM_MOUSEMOVE = 0x0200;
    int WM_LBUTTONDOWN = 0x0201;
    int WM_LBUTTONUP = 0x0202;
    int WM_LBUTTONDBLCLK = 0x0203;
    int WM_RBUTTONDOWN = 0x0204;
    int WM_RBUTTONUP = 0x0205;
    int WM_RBUTTONDBLCLK = 0x0206;
    int WM_MBUTTONDOWN = 0x0207;
    int WM_MBUTTONUP = 0x0208;
    int WM_MBUTTONDBLCLK = 0x0209;
    int WM_MOUSEWHEEL = 0x020A;
    int WM_XBUTTONDOWN = 0x020B;
    int WM_XBUTTONUP = 0x020C;
    int WM_XBUTTONDBLCLK = 0x020D;
    int WM_MOUSEHWHEEL = 0x020e;

    int WM_MOUSELAST = 0x020e;
    //int WM_MOUSELAST = 0x020d;
    //int WM_MOUSELAST = 0x020a;

    int WHEEL_DELTA = 120;

    int XBUTTON1 = 0x0001;
    int XBUTTON2 = 0x0002;

    int WM_PARENTNOTIFY = 0x0210;
    int WM_ENTERMENULOOP = 0x0211;
    int WM_EXITMENULOOP = 0x0212;
    int WM_NEXTMENU = 0x0213;
    int WM_SIZING = 0x0214;
    int WM_CAPTURECHANGED = 0x0215;
    int WM_MOVING = 0x0216;
    int WM_POWERBROADCAST = 0x0218;

    int PBT_APMQUERYSUSPEND = 0x0000;
    int PBT_APMQUERYSTANDBY = 0x0001;
    int PBT_APMQUERYSUSPENDFAILED = 0x0002;
    int PBT_APMQUERYSTANDBYFAILED = 0x0003;
    int PBT_APMSUSPEND = 0x0004;
    int PBT_APMSTANDBY = 0x0005;
    int PBT_APMRESUMECRITICAL = 0x0006;
    int PBT_APMRESUMESUSPEND = 0x0007;
    int PBT_APMRESUMESTANDBY = 0x0008;

    int PBTF_APMRESUMEFROMFAILURE = 0x00000001;

    int PBT_APMBATTERYLOW = 0x0009;
    int PBT_APMPOWERSTATUSCHANGE = 0x000A;
    int PBT_APMOEMEVENT = 0x000B;
    int PBT_APMRESUMEAUTOMATIC = 0x0012;
    int PBT_POWERSETTINGCHANGE = 32787;

    int WM_DEVICECHANGE = 0x0219;

    int WM_MDICREATE = 0x0220;
    int WM_MDIDESTROY = 0x0221;
    int WM_MDIACTIVATE = 0x0222;
    int WM_MDIRESTORE = 0x0223;
    int WM_MDINEXT = 0x0224;
    int WM_MDIMAXIMIZE = 0x0225;
    int WM_MDITILE = 0x0226;
    int WM_MDICASCADE = 0x0227;
    int WM_MDIICONARRANGE = 0x0228;
    int WM_MDIGETACTIVE = 0x0229;

    int WM_MDISETMENU = 0x0230;
    int WM_ENTERSIZEMOVE = 0x0231;
    int WM_EXITSIZEMOVE = 0x0232;
    int WM_DROPFILES = 0x0233;
    int WM_MDIREFRESHMENU = 0x0234;
    int WM_POINTERDEVICECHANGE = 0x238;
    int WM_POINTERDEVICEINRANGE = 0x239;
    int WM_POINTERDEVICEOUTOFRANGE = 0x23a;
    int WM_TOUCH = 0x0240;
    int WM_NCPOINTERUPDATE = 0x0241;
    int WM_NCPOINTERDOWN = 0x0242;
    int WM_NCPOINTERUP = 0x0243;
    int WM_POINTERUPDATE = 0x0245;
    int WM_POINTERDOWN = 0x0246;
    int WM_POINTERUP = 0x0247;
    int WM_POINTERENTER = 0x0249;
    int WM_POINTERLEAVE = 0x024a;
    int WM_POINTERACTIVATE = 0x024b;
    int WM_POINTERCAPTURECHANGED = 0x024c;
    int WM_TOUCHHITTESTING = 0x024d;
    int WM_POINTERWHEEL = 0x024e;
    int WM_POINTERHWHEEL = 0x024f;
    int DM_POINTERHITTEST = 0x0250;
    int WM_POINTERROUTEDTO = 0x0251;
    int WM_POINTERROUTEDAWAY = 0x0252;
    int WM_POINTERROUTEDRELEASED = 0x0253;

    int WM_IME_SETCONTEXT = 0x0281;
    int WM_IME_NOTIFY = 0x0282;
    int WM_IME_CONTROL = 0x0283;
    int WM_IME_COMPOSITIONFULL = 0x0284;
    int WM_IME_SELECT = 0x0285;
    int WM_IME_CHAR = 0x0286;
    int WM_IME_REQUEST = 0x0288;
    int WM_IME_KEYDOWN = 0x0290;
    int WM_IME_KEYUP = 0x0291;

    int WM_MOUSEHOVER = 0x02A1;
    int WM_MOUSELEAVE = 0x02A3;
    int WM_NCMOUSEHOVER = 0x02A0;
    int WM_NCMOUSELEAVE = 0x02A2;
    int WM_WTSSESSION_CHANGE = 0x02B1;
    int WM_TABLET_FIRST = 0x02c0;
    int WM_TABLET_LAST = 0x02df;
    int WM_DPICHANGED = 0x02e0;
    int WM_DPICHANGED_BEFOREPARENT = 0x02e2;
    int WM_DPICHANGED_AFTERPARENT = 0x02e3;
    int WM_GETDPISCALEDSIZE = 0x02e4;
    int WM_CUT = 0x0300;
    int WM_COPY = 0x0301;
    int WM_PASTE = 0x0302;
    int WM_CLEAR = 0x0303;
    int WM_UNDO = 0x0304;
    int WM_RENDERFORMAT = 0x0305;
    int WM_RENDERALLFORMATS = 0x0306;
    int WM_DESTROYCLIPBOARD = 0x0307;
    int WM_DRAWCLIPBOARD = 0x0308;
    int WM_PAINTCLIPBOARD = 0x0309;
    int WM_VSCROLLCLIPBOARD = 0x030A;
    int WM_SIZECLIPBOARD = 0x030B;
    int WM_ASKCBFORMATNAME = 0x030C;
    int WM_CHANGECBCHAIN = 0x030D;
    int WM_HSCROLLCLIPBOARD = 0x030E;
    int WM_QUERYNEWPALETTE = 0x030F;
    int WM_PALETTEISCHANGING = 0x0310;
    int WM_PALETTECHANGED = 0x0311;
    int WM_HOTKEY = 0x0312;
    int WM_PRINT = 0x0317;
    int WM_PRINTCLIENT = 0x0318;
    int WM_APPCOMMAND = 0x0319;
    int WM_THEMECHANGED = 0x031A;
    int WM_CLIPBOARDUPDATE = 0x031d;
    int WM_DWMCOMPOSITIONCHANGED = 0x031e;
    int WM_DWMNCRENDERINGCHANGED = 0x031f;
    int WM_DWMCOLORIZATIONCOLORCHANGED = 0x0320;
    int WM_DWMWINDOWMAXIMIZEDCHANGE = 0x0321;
    int WM_DWMSENDICONICTHUMBNAIL = 0x0323;
    int WM_DWMSENDICONICLIVEPREVIEWBITMAP = 0x0326;
    int WM_GETTITLEBARINFOEX = 0x033f;

    int WM_HANDHELDFIRST = 0x0358;
    int WM_HANDHELDLAST = 0x035F;
    int WM_AFXFIRST = 0x0360;
    int WM_AFXLAST = 0x037F;
    int WM_PENWINFIRST = 0x0380;
    int WM_PENWINLAST = 0x038F;
    int WM_APP = 0x8000;
    int WM_USER = 0x0400;

    int WMSZ_LEFT = 1;
    int WMSZ_RIGHT = 2;
    int WMSZ_TOP = 3;
    int WMSZ_TOPLEFT = 4;
    int WMSZ_TOPRIGHT = 5;
    int WMSZ_BOTTOM = 6;
    int WMSZ_BOTTOMLEFT = 7;
    int WMSZ_BOTTOMRIGHT = 8;

    int PM_NOREMOVE = 0x0000;
    int PM_REMOVE = 0x0001;
    int PM_NOYIELD = 0x0002;

    int VK_LBUTTON = 0x01;
    int VK_RBUTTON = 0x02;
    int VK_CANCEL = 0x03;
    int VK_MBUTTON = 0x04;
    int VK_XBUTTON1 = 0x05;
    int VK_XBUTTON2 = 0x06;
    int VK_BACK = 0x08;
    int VK_TAB = 0x09;
    int VK_CLEAR = 0x0C;
    int VK_RETURN = 0x0D;
    int VK_SHIFT = 0x10;
    int VK_CONTROL = 0x11;
    int VK_MENU = 0x12;
    int VK_PAUSE = 0x13;
    int VK_CAPITAL = 0x14;
    int VK_KANA = 0x15;
    int VK_HANGEUL = 0x15;
    int VK_HANGUL = 0x15;
    int VK_IME_ON = 0x16;
    int VK_JUNJA = 0x17;
    int VK_FINAL = 0x18;
    int VK_HANJA = 0x19;
    int VK_KANJI = 0x19;
    int VK_IME_OFF = 0x1A;
    int VK_ESCAPE = 0x1B;
    int VK_CONVERT = 0x1C;
    int VK_NONCONVERT = 0x1D;
    int VK_ACCEPT = 0x1E;
    int VK_MODECHANGE = 0x1F;
    int VK_SPACE = 0x20;
    int VK_PRIOR = 0x21;
    int VK_NEXT = 0x22;
    int VK_END = 0x23;
    int VK_HOME = 0x24;
    int VK_LEFT = 0x25;
    int VK_UP = 0x26;
    int VK_RIGHT = 0x27;
    int VK_DOWN = 0x28;
    int VK_SELECT = 0x29;
    int VK_PRINT = 0x2A;
    int VK_EXECUTE = 0x2B;
    int VK_SNAPSHOT = 0x2C;
    int VK_INSERT = 0x2D;
    int VK_DELETE = 0x2E;
    int VK_HELP = 0x2F;
    int VK_LWIN = 0x5B;
    int VK_RWIN = 0x5C;
    int VK_APPS = 0x5D;
    int VK_SLEEP = 0x5F;
    int VK_NUMPAD0 = 0x60;
    int VK_NUMPAD1 = 0x61;
    int VK_NUMPAD2 = 0x62;
    int VK_NUMPAD3 = 0x63;
    int VK_NUMPAD4 = 0x64;
    int VK_NUMPAD5 = 0x65;
    int VK_NUMPAD6 = 0x66;
    int VK_NUMPAD7 = 0x67;
    int VK_NUMPAD8 = 0x68;
    int VK_NUMPAD9 = 0x69;
    int VK_MULTIPLY = 0x6A;
    int VK_ADD = 0x6B;
    int VK_SEPARATOR = 0x6C;
    int VK_SUBTRACT = 0x6D;
    int VK_DECIMAL = 0x6E;
    int VK_DIVIDE = 0x6F;
    int VK_F1 = 0x70;
    int VK_F2 = 0x71;
    int VK_F3 = 0x72;
    int VK_F4 = 0x73;
    int VK_F5 = 0x74;
    int VK_F6 = 0x75;
    int VK_F7 = 0x76;
    int VK_F8 = 0x77;
    int VK_F9 = 0x78;
    int VK_F10 = 0x79;
    int VK_F11 = 0x7A;
    int VK_F12 = 0x7B;
    int VK_F13 = 0x7C;
    int VK_F14 = 0x7D;
    int VK_F15 = 0x7E;
    int VK_F16 = 0x7F;
    int VK_F17 = 0x80;
    int VK_F18 = 0x81;
    int VK_F19 = 0x82;
    int VK_F20 = 0x83;
    int VK_F21 = 0x84;
    int VK_F22 = 0x85;
    int VK_F23 = 0x86;
    int VK_F24 = 0x87;
    int VK_NAVIGATION_VIEW = 0x88;
    int VK_NAVIGATION_MENU = 0x89;
    int VK_NAVIGATION_UP = 0x8A;
    int VK_NAVIGATION_DOWN = 0x8B;
    int VK_NAVIGATION_LEFT = 0x8C;
    int VK_NAVIGATION_RIGHT = 0x8D;
    int VK_NAVIGATION_ACCEPT = 0x8E;
    int VK_NAVIGATION_CANCEL = 0x8F;
    int VK_NUMLOCK = 0x90;
    int VK_SCROLL = 0x91;
    int VK_OEM_NEC_EQUAL = 0x92;
    int VK_OEM_FJ_JISHO = 0x92;
    int VK_OEM_FJ_MASSHOU = 0x93;
    int VK_OEM_FJ_TOUROKU = 0x94;
    int VK_OEM_FJ_LOYA = 0x95;
    int VK_OEM_FJ_ROYA = 0x96;
    int VK_LSHIFT = 0xA0;
    int VK_RSHIFT = 0xA1;
    int VK_LCONTROL = 0xA2;
    int VK_RCONTROL = 0xA3;
    int VK_LMENU = 0xA4;
    int VK_RMENU = 0xA5;
    int VK_BROWSER_BACK = 0xA6;
    int VK_BROWSER_FORWARD = 0xA7;
    int VK_BROWSER_REFRESH = 0xA8;
    int VK_BROWSER_STOP = 0xA9;
    int VK_BROWSER_SEARCH = 0xAA;
    int VK_BROWSER_FAVORITES = 0xAB;
    int VK_BROWSER_HOME = 0xAC;
    int VK_VOLUME_MUTE = 0xAD;
    int VK_VOLUME_DOWN = 0xAE;
    int VK_VOLUME_UP = 0xAF;
    int VK_MEDIA_NEXT_TRACK = 0xB0;
    int VK_MEDIA_PREV_TRACK = 0xB1;
    int VK_MEDIA_STOP = 0xB2;
    int VK_MEDIA_PLAY_PAUSE = 0xB3;
    int VK_LAUNCH_MAIL = 0xB4;
    int VK_LAUNCH_MEDIA_SELECT = 0xB5;
    int VK_LAUNCH_APP1 = 0xB6;
    int VK_LAUNCH_APP2 = 0xB7;
    int VK_OEM_1 = 0xBA;
    int VK_OEM_PLUS = 0xBB;
    int VK_OEM_COMMA = 0xBC;
    int VK_OEM_MINUS = 0xBD;
    int VK_OEM_PERIOD = 0xBE;
    int VK_OEM_2 = 0xBF;
    int VK_OEM_3 = 0xC0;
    int VK_GAMEPAD_A = 0xC3;
    int VK_GAMEPAD_B = 0xC4;
    int VK_GAMEPAD_X = 0xC5;
    int VK_GAMEPAD_Y = 0xC6;
    int VK_GAMEPAD_RIGHT_SHOULDER = 0xC7;
    int VK_GAMEPAD_LEFT_SHOULDER = 0xC8;
    int VK_GAMEPAD_LEFT_TRIGGER = 0xC9;
    int VK_GAMEPAD_RIGHT_TRIGGER = 0xCA;
    int VK_GAMEPAD_DPAD_UP = 0xCB;
    int VK_GAMEPAD_DPAD_DOWN = 0xCC;
    int VK_GAMEPAD_DPAD_LEFT = 0xCD;
    int VK_GAMEPAD_DPAD_RIGHT = 0xCE;
    int VK_GAMEPAD_MENU = 0xCF;
    int VK_GAMEPAD_VIEW = 0xD0;
    int VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON = 0xD1;
    int VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON = 0xD2;
    int VK_GAMEPAD_LEFT_THUMBSTICK_UP = 0xD3;
    int VK_GAMEPAD_LEFT_THUMBSTICK_DOWN = 0xD4;
    int VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT = 0xD5;
    int VK_GAMEPAD_LEFT_THUMBSTICK_LEFT = 0xD6;
    int VK_GAMEPAD_RIGHT_THUMBSTICK_UP = 0xD7;
    int VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN = 0xD8;
    int VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT = 0xD9;
    int VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT = 0xDA;
    int VK_OEM_4 = 0xDB;
    int VK_OEM_5 = 0xDC;
    int VK_OEM_6 = 0xDD;
    int VK_OEM_7 = 0xDE;
    int VK_OEM_8 = 0xDF;
    int VK_OEM_AX = 0xE1;
    int VK_OEM_102 = 0xE2;
    int VK_ICO_HELP = 0xE3;
    int VK_ICO_00 = 0xE4;
    int VK_PROCESSKEY = 0xE5;
    int VK_ICO_CLEAR = 0xE6;
    int VK_PACKET = 0xE7;
    int VK_OEM_RESET = 0xE9;
    int VK_OEM_JUMP = 0xEA;
    int VK_OEM_PA1 = 0xEB;
    int VK_OEM_PA2 = 0xEC;
    int VK_OEM_PA3 = 0xED;
    int VK_OEM_WSCTRL = 0xEE;
    int VK_OEM_CUSEL = 0xEF;
    int VK_OEM_ATTN = 0xF0;
    int VK_OEM_FINISH = 0xF1;
    int VK_OEM_COPY = 0xF2;
    int VK_OEM_AUTO = 0xF3;
    int VK_OEM_ENLW = 0xF4;
    int VK_OEM_BACKTAB = 0xF5;
    int VK_ATTN = 0xF6;
    int VK_CRSEL = 0xF7;
    int VK_EXSEL = 0xF8;
    int VK_EREOF = 0xF9;
    int VK_PLAY = 0xFA;
    int VK_ZOOM = 0xFB;
    int VK_NONAME = 0xFC;
    int VK_PA1 = 0xFD;
    int VK_OEM_CLEAR = 0xFE;

    int MessageBoxA(Pointer hWnd,String lpText,String lpCaption,int uType);
    int MessageBoxW(Pointer hWnd,WString lpText,WString lpCaption,int uType);
    int MessageBoxExA(Pointer hWnd,String lpText,String lpCaption,int uType,short wLanguageId);
    int MessageBoxExW(Pointer hWnd,WString lpText,WString lpCaption,int uType,short wLanguageId);
    boolean SetSystemCursor(Pointer hcur,int id);
    Pointer LoadIconA(Pointer hInstance,String lpIconName);
    Pointer LoadIconA(Pointer hInstance, Pointer lpIconName);
    Pointer LoadIconW(Pointer hInstance,WString lpIconName);
    Pointer LoadIconW(Pointer hInstance,Pointer lpIconName);
    int PrivateExtractIconsA(String szFileName,int nIconIndex,int cxIcon,int cyIcon, PointerType[] phicon,int[] piconid,int nIcons,int flags);
    int PrivateExtractIconsW(WString szFileName,int nIconIndex,int cxIcon,int cyIcon, PointerType[] phicon,int[] piconid,int nIcons,int flags);
    Pointer CreateIcon(Pointer hInstance,int nWidth,int nHeight,byte cPlanes,byte cBitsPixel, byte[] lpbANDbits, byte[] lpbXORbits);
    boolean DestroyIcon(Pointer hIcon);
    int LookupIconIdFromDirectory(Pointer presbits,boolean fIcon);
    int LookupIconIdFromDirectoryEx(Pointer presbits,boolean fIcon,int cxDesired,int cyDesired,int Flags);
    Pointer CreateIconFromResource(Pointer presbits,int dwResSize,boolean fIcon,int dwVer);
    Pointer CreateIconFromResourceEx(Pointer presbits,int dwResSize,boolean fIcon,int dwVer,int cxDesired,int cyDesired,int Flags);
    Pointer LoadBitmapA(Pointer hInstance,String lpBitmapName);
    Pointer LoadBitmapW(Pointer hInstance,WString lpBitmapName);
    Pointer LoadCursorA(Pointer hInstance,String lpCursorName);
    Pointer LoadCursorA(Pointer hInstance,Pointer lpCursorName);
    Pointer LoadCursorW(Pointer hInstance,WString lpCursorName);
    Pointer LoadCursorW(Pointer hInstance,Pointer lpCursorName);
    Pointer LoadCursorFromFileA(String lpFileName);
    Pointer LoadCursorFromFileW(WString lpFileName);
    Pointer CreateCursor(Pointer hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,Pointer pvANDPlane,Pointer pvXORPlane);
    boolean DestroyCursor(Pointer hCursor);
    boolean AttachThreadInput (int idAttach, int idAttachTo, boolean fAttach);
    boolean ReplyMessage (int lResult);
    boolean WaitMessage ();
    int WaitForInputIdle (Pointer hProcess, int dwMilliseconds);
    int DefWindowProcA (Pointer hWnd, int Msg, int wParam, Pointer lParam);
    int DefWindowProcW (Pointer hWnd, int Msg, int wParam, Pointer lParam);
    void PostQuitMessage (int nExitCode);
    boolean InSendMessage ();
    int InSendMessageEx (Pointer lpReserved);
    int GetDoubleClickTime ();
    boolean SetDoubleClickTime (int uTime);
    short RegisterClassA (WNDCLASSA lpWndClass);
    short RegisterClassW (WNDCLASSW lpWndClass);
    boolean UnregisterClassA (String lpClassName, Pointer hInstance);
    boolean UnregisterClassW (WString lpClassName, Pointer hInstance);
    boolean GetClassInfoA (Pointer hInstance, String lpClassName, WNDCLASSA lpWndClass);
    boolean GetClassInfoW (Pointer hInstance, WString lpClassName, WNDCLASSW lpWndClass);
    short RegisterClassExA (WNDCLASSEXA lpWndClass);
    short RegisterClassExW (WNDCLASSEXW lpWndClass);
    boolean GetClassInfoExA (Pointer hInstance, String lpszClass, WNDCLASSEXA lpwcx);
    boolean GetClassInfoExW (Pointer hInstance, WString lpszClass, WNDCLASSEXW lpwcx);
    int CallWindowProcA(WNDPROC lpPrevWndFunc, Pointer hWnd, int Msg, int wParam, Pointer lParam);
    int CallWindowProcW(WNDPROC lpPrevWndFunc, Pointer hWnd, int Msg, int wParam, Pointer lParam);
    Pointer CreateWindowExA(int dwExStyle, String lpClassName, String lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, Pointer hWndParent, Pointer hMenu,Pointer hInstance, Pointer lpParam);
    Pointer CreateWindowExW(int dwExStyle, WString lpClassName, WString lpWindowName, int  dwStyle, int X, int Y, int nWidth, int nHeight, Pointer hWndParent, Pointer hMenu, Pointer hInstance, Pointer lpParam);
    boolean IsWindow(Pointer hWnd);
    boolean IsMenu(Pointer hMenu);
    boolean IsChild(Pointer hWndParent, Pointer hWnd);
    boolean DestroyWindow(Pointer hWnd);
    boolean ShowWindow(Pointer hWnd,int nCmdShow);
    boolean AnimateWindow(Pointer hWnd,int dwTime,int dwFlags);
    Pointer GetDC(Pointer hWnd);
    int ShowCursor(boolean bShow);
    boolean GetMessageA(MSG lpMsg,Pointer hWnd,int wMsgFilterMin,int wMsgFilterMax);
    boolean GetMessageW(MSG lpMsg,Pointer hWnd,int wMsgFilterMin,int wMsgFilterMax);
    boolean TranslateMessage(MSG lpMsg);
    int DispatchMessageA(MSG lpMsg);
    int DispatchMessageW(MSG lpMsg);
    boolean SetMessageQueue(int cMessagesMax);
    boolean PeekMessageA(MSG lpMsg,Pointer hWnd,int wMsgFilterMin,int wMsgFilterMax,int wRemoveMsg);
    boolean PeekMessageW(MSG lpMsg,Pointer hWnd,int wMsgFilterMin,int wMsgFilterMax,int wRemoveMsg);
    Pointer GetWindowDC(Pointer hWnd);
    int ReleaseDC(Pointer hWnd,Pointer hDC);
    //Pointer BeginPaint(Pointer hWnd,LPPAINTSTRUCT lpPaint);
    //boolean EndPaint(Pointer hWnd,PAINTSTRUCT lpPaint);
    boolean GetUpdateRect(Pointer hWnd,RECT lpRect,boolean bErase);
    int GetUpdateRgn(Pointer hWnd,Pointer hRgn,boolean bErase);
    int SetWindowRgn(Pointer hWnd,Pointer hRgn,boolean bRedraw);
    int GetWindowRgn(Pointer hWnd,Pointer hRgn);
    int GetWindowRgnBox(Pointer hWnd,RECT lprc);
    int ExcludeUpdateRgn(Pointer hDC,Pointer hWnd);
    boolean InvalidateRect(Pointer hWnd, RECT lpRect, boolean bErase);
    boolean ValidateRect(Pointer hWnd,RECT lpRect);
    boolean InvalidateRgn(Pointer hWnd,Pointer hRgn,boolean bErase);
    boolean ValidateRgn(Pointer hWnd,Pointer hRgn);
    boolean RedrawWindow(Pointer hWnd, RECT lprcUpdate,Pointer hrgnUpdate,int flags);
    boolean SetPropA(Pointer hWnd,String lpString,Pointer hData);
    boolean SetPropW(Pointer hWnd,WString lpString,Pointer hData);
    Pointer GetPropA(Pointer hWnd,String lpString);
    Pointer GetPropW(Pointer hWnd,WString lpString);
    Pointer RemovePropA(Pointer hWnd,String lpString);
    Pointer RemovePropW(Pointer hWnd,WString lpString);
    //int EnumPropsExA(Pointer hWnd,PROPENUMPROCEXA lpEnumFunc,Pointer lParam);
    //int EnumPropsExW(Pointer hWnd,PROPENUMPROCEXW lpEnumFunc,Pointer lParam);
    //int EnumPropsA(Pointer hWnd,PROPENUMPROCA lpEnumFunc);
    //int EnumPropsW(Pointer hWnd,PROPENUMPROCW lpEnumFunc);
    boolean SetWindowTextA(Pointer hWnd,String lpString);
    boolean SetWindowTextW(Pointer hWnd,WString lpString);
    int GetWindowTextA(Pointer hWnd,String lpString,int nMaxCount);
    int GetWindowTextW(Pointer hWnd,WString lpString,int nMaxCount);
    int GetWindowTextLengthA(Pointer hWnd);
    int GetWindowTextLengthW(Pointer hWnd);
    boolean GetClientRect(Pointer hWnd,RECT lpRect);
    boolean GetWindowRect(Pointer hWnd,RECT lpRect);
    boolean AdjustWindowRect(RECT lpRect,int dwStyle,boolean bMenu);
    boolean AdjustWindowRectEx(RECT lpRect,int dwStyle,boolean bMenu,int dwExStyle);
    boolean AdjustWindowRectExForDpi(RECT lpRect, int dwStyle, boolean bMenu, int dwExStyle, int dpi);
}
